#pragma once

#include "../TdsReqHandler.h"
#include <set>

class TFBasicInfoHandler : public TdsCmdHandler
{
Q_OBJECT
public:
    Q_INVOKABLE TFBasicInfoHandler():TdsCmdHandler(kLocalReq) {}
    bool processCmd(const QJsonObject& cmdObj, const ReqInfo& reqinfo, bool unReg = false) override;

private:
	void parseCondition(const QJsonObject& cmdObj);
private:
	std::set<std::string> m_TfCodeList;
	bool m_AllTf = true;
	bool m_ColMarket = true;
	bool m_ColKey = true;
	bool m_ColId = true;
	bool m_ColShortName = true;
	bool m_ColDeliveryMonth = true;
	bool m_ColLastTradeDay = true;
	bool m_ColDeliveryDate = true;
	bool m_ColBondTerm = true;
	bool m_ColDeliMatuStart = true;
	bool m_ColDeliMatuEnd = true;
	bool m_ColQuoteWay = true;
	bool m_ColMinChange = true;
	bool m_ColTradeTime = true;
	bool m_ColLastDayTradeTime = true;
	bool m_ColPricelimit = true;
	bool m_ColLowestMarg = true;
	bool m_ColDeliverWay = true;
	bool m_ColListedMarket = true;
	bool m_ColIsTradable = true;
	bool m_ColType = true;
	bool m_ColMain10Y = true;
	bool m_ColMain5Y = true;
};
